SELECT
col1, COUNT(col1),
col2, COUNT(col2)
FROM
table_name
GROUP BY
col1,
col2
HAVING
(COUNT(col1) > 1) AND
(COUNT(col2) > 1);
DELETE c1 FROM contacts c1
INNER JOIN contacts c2
WHERE
c1.id > c2.id AND
c1.email = c2.email;
delete test
from test
inner join (
select max(id) as lastId, email
from test
group by email
having count(*) > 1) duplic on duplic.email = test.email
where test.id < duplic.lastId;